package com.coolingme.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.coolingme.domain.entity.Role;

import java.util.List;
import java.util.Set;

public interface RoleMapper extends BaseMapper<Role> {
	/**
	 * 根据用户id查询角色key集合
	 *
	 * @param userId 用户id
	 * @return 角色key集合
	 */
	Set<String> listRoleKeyByUserId(Integer userId);

	/**
	 * 根据用户id查询角色key,Name集合
	 *
	 * @param userId 用户id
	 * @return 角色key, Name集合
	 */
	List<Role> listRoleKeyNameByUserId(Integer userId);

	/**
	 * 查询角色key和id集合
	 *
	 * @return List
	 */
	List<Role> listRoleKeyWithId();

	/**
	 * 过滤查询角色表信息
	 *
	 * @param role 角色信息
	 * @return 角色集合
	 */
	List<Role> listRoleByKeyName(Role role);

	/**
	 * 通过后台菜单id查询角色集合
	 *
	 * @param menuBackId 后台菜单id
	 * @return 角色集合
	 */
	List<Role> listRoleByMenuBackId(Integer menuBackId);

	/**
	 * 插入角色
	 */
	int insert(Role record);

	/**
	 * 批量禁用
	 * 
	 * @param idList id集合
	 */
	Integer disableList(@Param("idList") List<Integer> idList);

}